﻿%这是自定义的命令宏包
\ProvidesPackage{zwfcmd}

%下面载入各种宏包
%下面载入各种宏包
%下面载入各种宏包

%字体设置
\RequirePackage{fontspec}
\RequirePackage[slantfont,boldfont]{xeCJK}
\setCJKmainfont{SimSun}
%目录格式宏包
\RequirePackage{titlesec}
%列表宏包
\RequirePackage{paralist}
%设置首段空格
\RequirePackage{indentfirst}
\setlength{\parindent}{0mm}
%行距宏包
\RequirePackage{setspace}
%页眉页脚宏包
\RequirePackage{fancyhdr}
\pagestyle{fancy}
%表格相关宏包
\RequirePackage{multirow}
\RequirePackage{array}
\extrarowheight=2pt
\RequirePackage{colortbl}
\RequirePackage{supertabular}
%其它常用宏包
\RequirePackage{amsmath} %数学宏包
\RequirePackage{amsfonts} %数学宏包
\RequirePackage{mathrsfs} %花体拉丁字母
\RequirePackage{graphicx} %图形宏包
\RequirePackage{xcolor}  %颜色宏包
\RequirePackage[margin=10pt,font=small,labelfont=bf,labelsep=endash]{caption}  %标题宏包
%-------------------------------------------------------
%以下四句可以让caption命令用在浮动体之外的地方
\makeatletter
\newcommand{\figcaption}{\def\@captype{figure}\caption}  
\newcommand{\tabcaption}{\def\@captype{table}\caption}  
\makeatother
%以下四句可以让caption命令用在浮动体之外的地方
%-------------------------------------------------------
%超链接宏包
\RequirePackage[colorlinks,linkcolor=blue,
xetex,CJKbookmarks,
bookmarks=true,bookmarksnumbered=false]{hyperref}


%重定义命令
%设置目录
\renewcommand{\contentsname}{\centerline{目\quad 录}}


%下面是自定义的命令
%下面是自定义的命令
%下面是自定义的命令
%下面是自定义的命令

%名词解释的新命令，主要用于模仿土建规范的名词解释。例如下面的一种格式
% fc ---- 混凝土轴心抗压强度设计值，按本规范表4.1.4采用。混凝土
%         轴心抗压强度设计值，按本规范表4.1.4采用。
% 就是这样的格式。
\newcommand{\nounexp}[2]{
\makebox[15mm][r]{#1}
\hbox{---}
\parbox[t]{90mm}{#2}
}

%新的分段的命令
\newcommand{\newpar}{\par\vskip10pt plus 1pt}
\newcommand{\smallpar}{\par\vskip8pt plus 1pt}
\newcommand{\midpar}{\par\vskip10pt plus 1pt}
\newcommand{\bigpar}{\par\vskip14pt plus 1pt}


%小标题的命令，目前已经不用，为了兼容以前的文本而保留。
\newcommand{\stitle}[1]{\noindent \textcolor{blue}{#1}
\par\vskip5pt plus 1pt}

%小标题的变量
\newcounter{stitlenumber}

%小标题的另一种好用的方式
%编号为一的小标题begin title
\newcommand{\btitle}[1]{
\setcounter{stitlenumber}{1}
\noindent
\textbf{\arabic{stitlenumber}\quad #1}
%\textcolor{blue}{\arabic{stitlenumber}\quad #1}
\addtocounter{stitlenumber}{1}
\par\vskip5pt plus 1pt
}
%自动增加编号的小标题continue title
\newcommand{\ctitle}[1]{
\noindent
\textbf{\arabic{stitlenumber}\quad #1}
%\textcolor{blue}{\arabic{stitlenumber}\quad #1}
\addtocounter{stitlenumber}{1}
\par\vskip5pt plus 1pt
}

%排版练习题所定义的整数变量
\newcounter{testnumber}

%排版习题的命令1
\newcommand{\btest}{
\setcounter{testnumber}{1}
\noindent{}\arabic{testnumber}.
\addtocounter{testnumber}{1}
}

%排版习题的命令2
\newcommand{\ctest}{
\noindent{}\arabic{testnumber}.
\addtocounter{testnumber}{1}
}


%强调的命令,emph是latex原有的命令，现在自定义一个强调的命令
%自定义命令主要是便于修改格式
\newcommand{\empha}[1]{\textcolor{blue}{#1}}

%自定义的术语的命令，用于打印出数学中的强调的名词，
%比如“例题”，“定理”等名词，用以醒目。
\newcommand{\term}[1]{\textbf{#1} }

%下面是范数的命令，几个命令具有不同的尺寸大小
%下面是正常尺寸大小的范数
\newcommand{\norm}[1]{\ensuremath{
\| #1 \|
}}
%下面是 big 大小的范数
\newcommand{\bignorm}[1]{\ensuremath{
\big\| #1 \big\|
}}
%下面是 Big 大小的范数
\newcommand{\Bignorm}[1]{\ensuremath{
\Big\| #1 \Big\|
}}
%下面是 bigg 大小的范数
\newcommand{\biggnorm}[1]{\ensuremath{
\bigg\| #1 \bigg\|
}}
%下面是 Bigg 大小的范数
\newcommand{\Biggnorm}[1]{\ensuremath{
\Bigg\| #1 \Bigg\|
}}


%下面是三角函数的命令
\newcommand{\arccot}{\mathrm{arccot}\,}
\newcommand{\arcsec}{\mathrm{arcsec}\,}
\newcommand{\arccsc}{\mathrm{arccsc}\,}


%下面是矢量的命令，所有的命令中使用的矢量都是实体表示的，不涉及具体坐标系
%单个向量，LaTeX中有命令\vec，下面这个命令是采用粗体表示向量
%当不想使用粗体表示向量时，可以把下面这行命令注释掉
\renewcommand{\vec}[1]{\ensuremath{\boldsymbol{#1}}}
%加粗的戴帽子的矢量
\newcommand{\bhat}[1]{\ensuremath{\boldsymbol{\hat{#1}}}}

%定义从A到B两点的向量
\newcommand{\vecab}[2]{\ensuremath{
\overrightarrow{#1#2}
}}
%两个矢量点积
\newcommand{\dpro}[2]{\ensuremath{
\vec{#1}\cdot\vec{#2}
}}
%两个矢量叉积
\newcommand{\cpro}[2]{\ensuremath{
\vec{#1}\times\vec{#2}
}}
%三个矢量的混合积
\newcommand{\mpro}[3]{\ensuremath{
[\vec{#1},\vec{#2},\vec{#3}]
}}



%下面是矢量分量的有关命令
%下面是矢量在二维笛卡尔坐标系中的分量表示
\newcommand{\ddvec}[2]{\ensuremath{
#1\vec{i} + #2\vec{j}
}}
%下面是向量在三维笛卡尔坐标系中的分量表示
\newcommand{\dddvec}[3]{\ensuremath{
#1\vec{i} + #2\vec{j} + #3\vec{k}
}}



%下面是矩阵的命令
%一般行矩阵的命令，英文为row matrix
\newcommand{\rmatrix}[2]{\ensuremath{[#1_1,#1_2,\cdots,#1_{#2}]}}
%二阶行矩阵的命令，英文为two row matrix
\newcommand{\tworm}[2]{\ensuremath{[#1,#2]}}
%三阶行矩阵的命令，英文为three row matrix
\newcommand{\threerm}[3]{\ensuremath{[#1,#2,#3]}}
%一般行矩阵转置的命令，英文为row transposed matrix
\newcommand{\rtmatrix}[2]{\ensuremath{[#1_1,#1_2,\cdots,#1_{#2}]^T}}
%一般列矩阵的命令，英文为column matrix
\newcommand{\cmatrix}[2]{\ensuremath{
\left[\begin{array}{c}
#1_1\\
#1_2\\
\vdots\\
#1_{#2}
\end{array}\right]
}}
%二阶列矩阵的表示，命名为two column matrix
\newcommand{\twocm}[2]{\ensuremath{
\left[\begin{array}{c}
#1\\
#2\\
\end{array}\right]
}}

%三阶列矩阵的表示，命名为three column matrix
\newcommand{\threecm}[3]{\ensuremath{
\left[\begin{array}{c}
#1\\
#2\\
#3\\
\end{array}\right]
}}

%二阶矩阵的命令，这里命名为twom
\newcommand{\twom}[1]{\ensuremath{
\left[\begin{array}{cc}
#1_{11} & #1_{12} \\
#1_{21} & #1_{22} \\
\end{array}\right]
}}

%三阶矩阵的命令，这里命名为threem
\newcommand{\threem}[1]{\ensuremath{
\left[\begin{array}{ccc}
#1_{11} & #1_{12} & #1_{13} \\
#1_{21} & #1_{22} & #1_{23} \\
#1_{31} & #1_{32} & #1_{33} \\
\end{array}\right]
}}

%对角矩阵的命令，这里命名为diagm
\newcommand{\diagm}[2]{\ensuremath{
\left[\begin{array}{cccc}
#1_1 &         &       & \\
     & #1_2    &       & \\
     &         &\ddots & \\
     &         &       & #1_{#2}\\
\end{array}\right]
}}

%一般矩阵的命令，这里命名为mmatrix
\newcommand{\mmatrix}[3]{\ensuremath{
\left[\begin{array}{cccc}
#1_{11} & #1_{12} & \cdots & #1_{1#3}\\
#1_{21} & #1_{22} & \cdots & #1_{2#3}\\
\vdots\\
#1_{{#2}1} & #1_{{#2}2} & \cdots & #1_{#2#3}\\
\end{array}\right]
}}

%下面是极限的命令
\newcommand{\limit}[2]{\ensuremath{
\lim_{#1 \rightarrow #2}
}}

%下面是全微分的命令
\newcommand{\cdif}[1]{\ensuremath{
\mathrm{d}#1
}}

%下面是导数的相关命令
\newcommand{\dt}[1]{\ensuremath{
\frac{\mathrm{d}}{\mathrm{d}#1}
}}
%高次导数的命令
\newcommand{\dkt}[2]{\ensuremath{
\frac{\mathrm{d}^{#1}}{\mathrm{d}#2^{#1}}
}}
%分子带函数的导数
\newcommand{\dft}[2]{\ensuremath{
\frac{\mathrm{d}#1}{\mathrm{d}#2}
}}
%分子带函数的高次导数
\newcommand{\dkft}[3]{\ensuremath{
\frac{\mathrm{d}^{#1}#2}{\mathrm{d}{#3}^{#1}}
}}

%下面是偏导数的命令
\newcommand{\pt}[1]{\ensuremath{
\frac{\partial}{\partial#1}
}}
%高次偏导数的命令
\newcommand{\pkt}[2]{\ensuremath{
\frac{\partial^{#1}}{\partial#2^{#1}}
}}
%分子带函数名的偏导数
\newcommand{\pft}[2]{\ensuremath{
\frac{\partial#1}{\partial#2}
}}
%分子带函数名的高次导数
\newcommand{\pkft}[3]{\ensuremath{
\frac{\partial^{#1}#2}{\partial{#3}^{#1}}
}}
%二次偏导数
\newcommand{\pfxy}[3]{\ensuremath{
\frac{\partial^2#1}{\partial#2\partial#3}
}}

%下面是一般的算子的命令
\newcommand{\operator}[1]{\ensuremath{
\mathrm{#1}
}}
%哈密顿算子在笛卡尔坐标系中的形式
\newcommand{\dnabla}{\ensuremath{
(\frac{\partial}{\partial{}x}\vec{i} + 
 \frac{\partial}{\partial{}y}\vec{j} + 
 \frac{\partial}{\partial{}z}\vec{k}){}
}}
%带函数名的哈密顿算子的分量形式
\newcommand{\dfnabla}[1]{\ensuremath{
(\frac{\partial{}#1}{\partial{}x}\vec{i} + 
 \frac{\partial{}#1}{\partial{}y}\vec{j} + 
 \frac{\partial{}#1}{\partial{}z}\vec{k}){}
}}

\endinput
